#ifndef __LED_STD_CONFIG_H
#define __LED_STD_CONFIG_H

#include "stm32f10x.h"  // 包含STM32F10x系列外设库定义（GPIO、RCC等寄存器）

/**
  ******************************************************************************
  * @file    LED_STD_Config.h
  * @brief   LED标准配置头文件
  * @author  18408107475@163.com
  * @version V1.0
  * @date    2025-07-19
  * @note    功能说明：
  *          - 定义LED控制相关函数声明
  *          - 支持两个LED（红色、绿色）的独立控制
  *          - 硬件引脚映射：
  *            - 红色LED → GPIOB引脚5（PB5）
  *            - 绿色LED → GPIOE引脚5（PE5）
  *          - 电气特性：共阳接法（LED阳极接3.3V，阴极通过GPIO控制）
  ******************************************************************************
  */

/**
  * @brief  初始化LED控制引脚（PB5和PE5）
  * @note   初始化流程：
  *         1. 使能GPIOB和GPIOE的时钟（APB2总线）
  *         2. 配置PB5和PE5为50MHz推挽输出模式
  *         3. 初始状态：两LED均熄灭（PB5和PE5输出高电平）
  * @前置条件：无（独立初始化函数）
  * @后续操作：可直接调用Red_Led_ON()等函数控制LED
  */
void LED_STD_Config(void);      // LED初始化（PB5/PE5）

/**
  * @brief  点亮红色LED（PB5）
  * @note   共阳接法下，通过GPIO_ResetBits(GPIOB, GPIO_Pin_5)拉低PB5，
  *         使LED阴极接低电平，形成导通回路
  * @前置条件：需先调用LED_STD_Config()完成初始化
  */
void Red_Led_ON(void);

/**
  * @brief  点亮绿色LED（PE5）
  * @note   共阳接法下，通过GPIO_ResetBits(GPIOE, GPIO_Pin_5)拉低PE5，
  *         使LED阴极接低电平，形成导通回路
  * @前置条件：需先调用LED_STD_Config()完成初始化
  */
void Green_Led_ON(void);

/**
  * @brief  熄灭红色LED（PB5）
  * @note   共阳接法下，通过GPIO_SetBits(GPIOB, GPIO_Pin_5)拉高PB5，
  *         使LED阴极接高电平，截止不导通
  * @前置条件：需先调用LED_STD_Config()完成初始化
  */
void Red_Led_OFF(void);

/**
  * @brief  熄灭绿色LED（PE5）
  * @note   共阳接法下，通过GPIO_SetBits(GPIOE, GPIO_Pin_5)拉高PE5，
  *         使LED阴极接高电平，截止不导通
  * @前置条件：需先调用LED_STD_Config()完成初始化
  */
void Green_Led_OFF(void);

#endif  // __LED_STD_CONFIG_H
